home *** CD-ROM | disk | FTP | other *** search
/ ring.yamanashi.ac.jp/pub/pc/freem/action/ / action.zip / shottank.zip / SHOTE‚s‚`‚m‚j / SHOTE‚s‚`‚m‚j.as.i < prev    next >
Text File  |  2004-02-29  |  17KB  |  861 lines

  1. ##0 "hspdef.as"
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59. ##0 "SHOTüEésé`éméj.as"
  60. ##0 "hgimg.as"
  61.  
  62.  
  63.  
  64.  
  65.  
  66. #uselib "hgimg.dll"
  67. #func _hgini hgini 2
  68. #func hgsrc hgsrc 2
  69. #func hgdst hgdst 2
  70. #func hgdraw hgdraw 0
  71. #func hgsync hgsync 2
  72. #func hgbye hgbye $100
  73. #func getsync getsync 1
  74. #func sync sync 0
  75. #func getdebug getdebug 1
  76. #func hgsetreq hgsetreq 0
  77. #func hggetreq hggetreq 1
  78.  
  79. #func setborder setborder 0
  80. #func clscolor clscolor 0
  81. #func clstex clstex 0
  82. #func setfont setfont 0
  83. #func fprt fprt 6
  84.  
  85. #func objset1 objset1 0
  86. #func objadd1 objadd1 0
  87. #func objmov1 objmov1 0
  88. #func objsetf1 objsetf1 0
  89. #func objaddf1 objaddf1 0
  90. #func objmovf1 objmovf1 0
  91. #func objcheck objcheck 1
  92. #func objmovmode objmovmode 0
  93. #func objmovopt objmovopt 0
  94.  
  95. #func objset2 objset2 0
  96. #func objadd2 objadd2 0
  97. #func objmov2 objmov2 0
  98. #func objsetf2 objsetf2 0
  99. #func objaddf2 objaddf2 0
  100. #func objmovf2 objmovf2 0
  101.  
  102. #func objset3 objset3 0
  103. #func objadd3 objadd3 0
  104. #func objmov3 objmov3 0
  105. #func objsetf3 objsetf3 0
  106. #func objaddf3 objaddf3 0
  107. #func objmovf3 objmovf3 0
  108.  
  109. #func selmoc selmoc 0
  110. #func selpos selpos 0
  111. #func selang selang 0
  112. #func selscale selscale 0
  113. #func seldir seldir 0
  114.  
  115. #func objgetfv objgetfv 1
  116. #func objgetv objgetv 1
  117. #func objsetfv objsetfv 1
  118. #func objsetv objsetv 1
  119. #func objaddfv objaddfv 1
  120. #func objmovfv objmovfv 1
  121. #func objgetstr objgetstr 1
  122. #func objact objact 0
  123.  
  124. #func fvset fvset 1
  125. #func fvseti fvseti 1
  126. #func fvadd fvadd 1
  127. #func fvsub fvsub 1
  128. #func fvmul fvmul 1
  129. #func fvdiv fvdiv 1
  130. #func fvdir fvdir 1
  131. #func fvget fvget 1
  132. #func fvmin fvmin 1
  133. #func fvmax fvmax 1
  134. #func fvouter fvouter 1
  135. #func fvinner fvinner 1
  136. #func fvunit fvunit 1
  137. #func fvface fvface 1
  138. #func fv2str fv2str $11
  139. #func f2str f2str $11
  140. #func str2f str2f 5
  141. #func str2fv str2fv 5
  142. #func f2i f2i 1
  143. #func fsin fsin 1
  144. #func fcos fcos 1
  145. #func fsqr fsqr 1
  146. #func fadd fadd 1
  147. #func fsub fsub 1
  148. #func fmul fmul 1
  149. #func fdiv fdiv 1
  150. #func fcmp fcmp 1
  151. #func froti froti 1
  152.  
  153. #func setuv setuv 0
  154. #func setsizef setsizef 0
  155. #func setbg setbg 0
  156. #func getbg getbg $83
  157. #func setmap setmap 0
  158. #func addbox addbox 1
  159. #func addplate addplate 1
  160. #func addspr addspr 1
  161. #func addbg addbg 1
  162. #func regobj regobj 1
  163. #func delobj delobj 0
  164. #func setobjm setobjm 0
  165. #func uvanim uvanim 0
  166. #func setmode setmode 0
  167. #func settimer settimer 0
  168. #func setobjmode setobjmode 0
  169. #func setcoli setcoli 0
  170. #func getcoli getcoli 1
  171. #func findobj findobj 0
  172. #func nextobj nextobj 1
  173.  
  174. #func evmodel evmodel 0
  175. #func setmtex setmtex 0
  176. #func getmtex getmtex 1
  177.  
  178. #func cammode cammode 0
  179. #func selcam selcam 0
  180. #func selcpos selcpos 0
  181. #func selcang selcang 0
  182. #func selcint selcint 0
  183.  
  184. #func copybuf copybuf 2
  185.  
  186. #func mxsend mxsend 1
  187. #func mxconv mxconv 1
  188. #func mxaconv mxaconv 1
  189. #func mxgetpoly mxgetpoly 1
  190. #func mxgetname mxgetname 1
  191. #func settex settex 2
  192. #func gettex gettex 1
  193.  
  194. #func addmesh addmesh 1
  195.  
  196.  
  197.  
  198.  
  199. #func modelmovef modelmovef 0
  200. #func modelshade modelshade 0
  201. #func dxfconv dxfconv 1
  202. #func dxfgetpoly dxfgetpoly 1
  203. #func objscanf2 objscanf2 1
  204. #func objscan2 objscan2 1
  205. #func mxsave mxsave 6
  206. #func setmchild setmchild 0
  207. #func setmsibling setmsibling 0
  208. #func getmchild getmchild 1
  209. #func getmsibling getmsibling 1
  210. #func setmfv setmfv 1
  211. #func getmfv getmfv 1
  212. #func getmodel getmodel 1
  213. #func putmodel putmodel 1
  214. #func dupnode dupnode $83
  215. #func gettree gettree 1
  216. #func hgreset hgreset 2
  217. #func mxtex mxtex 1
  218. #func setmuv setmuv 1
  219. #func getmuv getmuv 1
  220. #func nodemax nodemax 1
  221. #func getmpoly getmpoly 1
  222. #func setmpoly setmpoly 1
  223.  
  224. #func objset1r objset1r 0
  225. #func objmov1r objmov1r 0
  226. #func objset2r objset2r 0
  227. #func objmov2r objmov2r 0
  228. #func objset3r objset3r 0
  229. #func objmov3r objmov3r 0
  230.  
  231. #func sellight sellight 0
  232. #func sellpos sellpos 0
  233. #func sellang sellang 0
  234. #func sellcolor sellcolor 0
  235. #func selefx selefx 0
  236. #func falpha falpha 0
  237. #func setcolor setcolor 0
  238. #func clsblur clsblur 0
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308. goto *_HGIMG_exit
  309.  
  310. #deffunc hgini int,int
  311.  
  312.  
  313.  
  314. mref p1@hgimg,0
  315. mref p2@hgimg,1
  316. mref bm@hgimg,67
  317. hgmode@hgimg = bm@hgimg.3
  318. _hgini hgmode@hgimg,p1@hgimg,p2@hgimg
  319. return
  320.  
  321.  
  322. #deffunc texload str
  323.  
  324.  
  325.  
  326. mref fn@hgimg,32
  327. buffer 3,100,100,hgmode@hgimg
  328. picload fn@hgimg
  329. settex winx,winy
  330. if stat : dialog "Texture Error("+stat+")" : return
  331. return
  332.  
  333.  
  334. #deffunc texloadbg str
  335.  
  336.  
  337.  
  338. mref fn@hgimg,32
  339. buffer 3,100,100,hgmode@hgimg
  340. picload fn@hgimg
  341. clstex
  342. settex winx,winy,1
  343. if stat : dialog "Texture Error("+stat+")" : return
  344. return
  345.  
  346.  
  347. #deffunc mxload str
  348.  
  349.  
  350.  
  351. mref fn@hgimg,32
  352. mref _mdid@hgimg,64
  353. fname@hgimg = fn@hgimg+".mx"
  354. exist fname@hgimg
  355. if strsize<0 : dialog "file error ["+fname@hgimg+"]" : end
  356. sdim buf@hgimg,strsize
  357. s1@hgimg=""
  358. bload fname@hgimg,buf@hgimg
  359. mxsend buf@hgimg
  360. buffer 3,100,100,hgmode@hgimg
  361. repeat
  362. mxgetname s1@hgimg,cnt : if s1@hgimg="" : break
  363. exist s1@hgimg+".bmp"
  364. if strsize<0 : dialog "No file ["+s1@hgimg+"]" : end
  365. texload s1@hgimg+".bmp"
  366. loop
  367. mxconv mdid        
  368. mxgetpoly polys    
  369. sdim buf@hgimg,64
  370. _mdid@hgimg = mdid
  371. return
  372.  
  373.  
  374. #deffunc maload str
  375.  
  376.  
  377. mref fn@hgimg,32
  378. fname@hgimg = fn@hgimg+".ma"
  379. exist fname@hgimg
  380. if strsize<0 : dialog "file error ["+fname@hgimg+"]" : end
  381. sdim buf@hgimg,strsize
  382. bload fname@hgimg,buf@hgimg
  383. mxaconv buf@hgimg
  384. sdim buf@hgimg,64
  385. return
  386.  
  387.  
  388. #deffunc dxfload str
  389.  
  390.  
  391.  
  392. mref fn@hgimg,32
  393. mref _mdid@hgimg,64
  394. fname@hgimg = fn@hgimg+".dxf"
  395. exist fname@hgimg
  396. if strsize<0 : dialog "file error ["+fname@hgimg+"]" : end
  397. sdim buf@hgimg,strsize
  398. s1@hgimg=""
  399. bload fname@hgimg,buf@hgimg
  400. dxfconv buf@hgimg
  401. mdid = stat
  402. dxfgetpoly polys    
  403. _mdid@hgimg = mdid
  404. return
  405.  
  406.  
  407.  
  408. *_hgimg_exit
  409.  
  410. ##1 "SHOTüEésé`éméj.as"
  411. title "SHOT TANK" 
  412. randomize
  413.  
  414. screen 0,800,600,0,100,70
  415. cls 4:hgini
  416. randomize:âXâeü[âW=0
  417. *start 
  418. hgreset 
  419.  
  420. font "élér âSâVâbâN",40
  421. ÄwÆΦ=0:sdim ìÇû┌,20,6
  422. s=0
  423. ìÇû┌="GAME START","EXIT"
  424. buffer 14,0,0:picload "READY.bmp":buffer 13,0,0:picload "LOSE.bmp":buffer 12,0,0:picload "WIN.bmp"
  425. buffer 9,0,0:picload "âXâeü[âWéP.bmp":buffer 10,0,0:picload "âXâeü[âWéPüEéP.bmp":buffer 11,0,0:picload "âXâeü[âWéPüEéQ.bmp"
  426. buffer 8,0,0:picload "â^âCâgâïâìâS.bmp":buffer 4,0,0:picload "âüü[â^ü[.bmp":buffer 5,0,0:picload "âüü[â^ü[éQ.bmp"
  427. buffer 6,0,0:picload "âüü[â^ü[éR.bmp":buffer 7,0,0:picload "âüü[â^ü[éS.bmp"
  428. buffer 15,0,0:picload "âXâeü[âWéQ.bmp":buffer 16,0,0:picload "âXâeü[âWéQüEéP.bmp":buffer 17,0,0:picload "âXâeü[âWéQüEéQ.bmp"
  429. buffer 18,0,0:picload "âXâeü[âWéR.bmp":buffer 19,0,0:picload "âXâeü[âWéRüEéP.bmp":buffer 20,0,0:picload "âXâeü[âWéRüEéQ.bmp"
  430. buffer 21,0,0:picload "âXâeü[âWéS.bmp":buffer 22,0,0:picload "âXâeü[âWéSüEéP.bmp":buffer 23,0,0:picload "âXâeü[âWéSüEéQ.bmp"
  431. buffer 24,0,0:picload "âXâeü[âWéT.bmp":buffer 25,0,0:picload "âXâeü[âWéTüEéP.bmp":buffer 26,0,0:picload "âXâeü[âWéTüEéQ.bmp"
  432. buffer 27,0,0:picload "âXâeü[âWéU.bmp":buffer 28,0,0:picload "âXâeü[âWéUüEéP.bmp":buffer 29,0,0:picload "âXâeü[âWéUüEéQ.bmp"
  433. sndload "music.mid",0,1:sndload "baku.wav",3 :sndload "baku2.wav",4:sndload "music2.mid",5,1:sndload "music5.mid",8,1
  434. sndload "music3.mid",6,1:sndload "music4.mid",7,1:sndload "music6.mid",10,1:sndload "music7.mid",11,1
  435.  
  436. setsizef 4.5f,4.5f :setuv 0,0,79,79:addplate mdex,1:texload "baku.bmp":uvanim mdex,2,8,1
  437. setsizef 1.5f,1.5f :setuv 0,0,94,94
  438. addplate mdey,1
  439. texload "kemu.bmp"
  440. uvanim mdey,2,10,1
  441. setsizef 10.5f,10.5f :setuv 0,0,79,79
  442. addplate mdez,1
  443. texload "baku.bmp"
  444. uvanim mdez,4,8,1
  445.  
  446. if âXâeü[âW=0{mxload "eria" 
  447. regobj bgchr,stat, $4000 
  448. selpos bgchr:objset3 0, 0, 0}
  449. if âXâeü[âW=1{mxload "eria2" 
  450. regobj bgchr,stat, $4000 
  451. selpos bgchr:objset3 0, 0, 0}
  452. if âXâeü[âW=2{mxload "eria3" 
  453. regobj bgchr,stat, $4000 
  454. selpos bgchr:objset3 0, 0, 0}
  455. if âXâeü[âW=3{mxload "eria4" 
  456. regobj bgchr,stat, $4000 
  457. selpos bgchr:objset3 0, 0, 0}    
  458. if âXâeü[âW=4{mxload "eria5" 
  459. regobj bgchr,stat, $4000 
  460. selpos bgchr:objset3 0, 0, 0}
  461. if âXâeü[âW=5{mxload "eria6" 
  462. regobj bgchr,stat, $4000 
  463. selpos bgchr:objset3 0, 0, 0}    
  464. mxload "Ä⌐ï@":model=stat 
  465. regobj mychr,model:setcoli mychr,1,8 
  466. selpos mychr:objset3 50, 0, 0 
  467. if âXâeü[âW=0{mxload "tank2":model=stat 
  468. regobj mychr2,model, 32:setcoli mychr2,2,4 
  469. selpos mychr2:objset3 -50, 0, 0}
  470. if âXâeü[âW=1{mxload "tank3":model=stat 
  471. regobj mychr2,model, 32:setcoli mychr2,2,4 
  472. selpos mychr2:objset3 -50, 0, 0} 
  473. if âXâeü[âW=2{mxload "tank4":model=stat 
  474. regobj mychr2,model, 32:setcoli mychr2,2,4 
  475. selpos mychr2:objset3 -50, 0, 0} 
  476. if âXâeü[âW=3{mxload "tank5":model=stat 
  477. regobj mychr2,model, 32:setcoli mychr2,2,4 
  478. selpos mychr2:objset3 -50, 0, 0} 
  479. if âXâeü[âW=4{mxload "tank6":model=stat 
  480. regobj mychr2,model, 32:setcoli mychr2,2,4 
  481. selpos mychr2:objset3 -50, 0, 0} 
  482. if âXâeü[âW=5{mxload "tank7":model=stat 
  483. regobj mychr2,model:setcoli mychr2,2,4 
  484. selpos mychr2:objset3 0, 0, 0}
  485.  
  486. setuv 0,0,99,99:setsizef 4.0f, 4.0f 
  487. addplate ball1,1:texload "tama1.bmp" 
  488. if âXâeü[âW=0{addplate ball2,1:texload "tama2.bmp" 
  489. }
  490. if âXâeü[âW=1{setuv 0,0,64,64:setsizef 2.5f, 2.5f 
  491. addplate ball2,1:texload "tama3.bmp"
  492. }
  493. if âXâeü[âW=2{setuv 0,0,100,100:setsizef 4.5f, 4.5f 
  494. addplate ball2,1:texload "tama4.bmp"
  495. }
  496. if âXâeü[âW=3{setuv 0,0,100,100:setsizef 3.0f, 3.0f 
  497. addplate ball2,1:texload "tama5.bmp"
  498. }
  499. if âXâeü[âW=4{setuv 0,0,100,100:setsizef 1.5f, 1.5f 
  500. addplate ball2,1:texload "tama6.bmp"
  501. }
  502. if âXâeü[âW=5{setuv 0,0,100,100:setsizef 1.5f, 1.5f 
  503. addplate ball2,1:texload "tama7.bmp"
  504. }
  505. if âXâeü[âW=5{setuv 0,0,100,100:setsizef 8.5f, 8.5f 
  506. addplate ball3,1:texload "tama8.bmp"
  507. }
  508. snd 5
  509. if âXâeü[âW!=0:goto *é═é╢é▀
  510. *â^âCâgâïëµû╩
  511. gsel 0
  512. stick key,ÿAÄ╦*10,1
  513. if s>150 {
  514. ÄwÆΦ+=(key&8>0)-(key&2>0)
  515. if ÄwÆΦ<0:ÄwÆΦ=1
  516. if ÄwÆΦ>1:ÄwÆΦ=0
  517. if key&16:on ÄwÆΦ goto *storyâüâCâô,*exit
  518. }
  519. s+2
  520. repeat 6
  521. strlen Æ╖,ìÇû┌.cnt
  522. palcolor -(cnt=ÄwÆΦ)*200+255
  523. pos -8*10+380,cnt*40+400
  524. mes ìÇû┌.cnt
  525. loop
  526. pos 100,50:gzoom 600,300,8,0,0,400,s
  527. if s>155:s=155
  528. redraw 1:redraw 0:await 40:palcolor:boxf
  529. goto *â^âCâgâïëµû╩
  530.  
  531. *storyâüâCâô
  532. wait 50
  533. cls 4
  534. goto *é═é╢é▀
  535.  
  536.  
  537. *exit
  538. goto *owari
  539.  
  540. *é═é╢é▀
  541. gsel 0
  542. cls 4
  543. sndoff
  544. repeat 400
  545. color 255,255,255
  546. font "élérü@âSâVâbâN",40
  547. pos 420,400:mes "NOW LODING...."
  548. if âXâeü[âW=1{
  549. font "élérü@âSâVâbâN",70
  550. pos 200,30:mes "SECOND STAGE"
  551. pos 50,100:gcopy 15,0,0,321,185
  552. pos 400,100:gcopy 16,0,0,315,179
  553. pos 100,300:gcopy 17,0,0,300,150}
  554. if âXâeü[âW=0{
  555. font "élérü@âSâVâbâN",70
  556. pos 200,30:mes "FIRST STAGE"
  557. pos 100,100:gcopy 9,0,0,278,142
  558. pos 400,100:gcopy 10,0,0,291,181
  559. pos 100,300:gcopy 11,0,0,300,150}
  560. if âXâeü[âW=2{
  561. font "élérü@âSâVâbâN",70
  562. pos 200,30:mes "THIRD STAGE"
  563. pos 100,100:gcopy 18,0,0,328,204
  564. pos 400,100:gcopy 19,0,0,341,179
  565. pos 100,300:gcopy 20,0,0,300,150
  566. }
  567. if âXâeü[âW=3{
  568. font "élérü@âSâVâbâN",70
  569. pos 200,30:mes "FOUR STAGE"
  570. pos 100,100:gcopy 21,0,0,328,204
  571. pos 400,100:gcopy 22,0,0,341,179
  572. pos 100,300:gcopy 23,0,0,300,150
  573. }
  574. if âXâeü[âW=4{
  575. font "élérü@âSâVâbâN",70
  576. pos 200,30:mes "FIVE STAGE"
  577. pos 100,100:gcopy 24,0,0,328,204
  578. pos 400,100:gcopy 25,0,0,341,179
  579. pos 100,300:gcopy 26,0,0,300,150
  580. }
  581. if âXâeü[âW=5{
  582. font "élérü@âSâVâbâN",70
  583. pos 200,30:mes "FINAL STAGE"
  584. pos 100,100:gcopy 27,0,0,328,204
  585. pos 400,100:gcopy 28,0,0,341,179
  586. pos 100,300:gcopy 29,0,0,300,150
  587. }
  588. await 5
  589. loop
  590. cls 4
  591. *greset 
  592. gsel 0
  593. setborder 200.0f,200.0f,200.0f 
  594. hp=300:hp2=300 
  595. selang mychr:objset1 1,0 
  596. selang mychr2:objset1 1,0 
  597. time=0:time2=0:time3=0:time4=0:zikan=1:time5=0
  598. if âXâeü[âW=0:snd 0
  599. if âXâeü[âW=1:snd 6
  600. if âXâeü[âW=2:snd 7
  601. if âXâeü[âW=3:snd 8
  602. if âXâeü[âW=4:snd 10
  603. if âXâeü[âW=5:snd 11
  604. *main 
  605.  
  606. repeat
  607. hgdraw
  608. drawf = stat
  609. gmode 2
  610. stick k,15,1 
  611. if k&128 : goto *owari 
  612. my=mychr:myball=ball1:mycl=4:gosub *keymove 
  613. if lani!=myanim : lani=myanim : objact my,lani 
  614. if âXâeü[âW=0{if damage : hp-30 : if hp<0 : goto *dead 
  615. }
  616. if âXâeü[âW=1{if damage : hp-30 : if hp<0 : goto *dead 
  617. if âXâeü[âW=2{if damage : hp-35 : if hp<0 : goto *dead 
  618. }
  619. if âXâeü[âW=3{if damage : hp-25 : if hp<0 : goto *dead 
  620. }
  621. if âXâeü[âW=4{if damage : hp-10 : if hp<0 : goto *dead 
  622. }
  623. if âXâeü[âW=5{
  624. if time3>200{
  625. if time3<400{
  626. if damage : hp-10 : if hp<0 : goto *dead 
  627. }}}
  628. if âXâeü[âW=5{
  629. if time3>400{
  630. if time3<800{
  631. if damage : hp-5 : if hp<0 : goto *dead 
  632. }}}
  633. my=mychr2:myball=ball2:mycl=8:gosub *keymove2
  634. if lani2!=myanim : lani2=myanim : objact my,lani2 
  635. if âXâeü[âW=0{if damage : hp2-20 : if hp2<0 : goto *dead 
  636. }
  637. if âXâeü[âW=1{if damage : hp2-15 : if hp2<0 : goto *dead
  638. }
  639. if âXâeü[âW=2{if damage : hp2-10 : if hp2<0 : goto *dead
  640. }
  641. if âXâeü[âW=3{if damage : hp2-20 : if hp2<0 : goto *dead
  642. }
  643. if âXâeü[âW=4{if damage : hp2-13 : if hp2<0 : goto *dead
  644. }
  645. if âXâeü[âW=5{if damage : hp2-5 : if hp2<0 : goto *dead
  646. }
  647. if drawf{
  648. redraw 0
  649. pos 20,15:gcopy 5,0,0,300,80
  650. pos 26,43:gcopy 4,0,0,hp-12,46
  651. pos 470,15:gcopy 7,0,0,300,80
  652. pos 476,42:gcopy 6,0,0,hp2-12,46
  653. redraw 1
  654. }
  655. time+1:time2+1:time3+1:time4+1:time5+1
  656. if time>200 :time4=0
  657. rnd r, 7
  658. r = 3 - r 
  659. fvseti fv8, r
  660. fvmul fv8, 0.05f 
  661. Ä₧è╘+1
  662. hgsync speed
  663. if zikan=1{    
  664. pos 250,200:gcopy 14,0,0,300,100
  665. zikan=0:wait 300}
  666. loop
  667. *keymove 
  668.  
  669. damage=0:getcoli a,my,2.5f 
  670. if a!=-1 : damage=10 
  671. if a!=-1 : snd 3    
  672. if a!=-1 : {selpos a :objgetfv po
  673. regobj ob,mdex, 16
  674. selpos ob :objsetfv po
  675. }
  676. if a!=-1 :delobj a
  677.  
  678. selpos my 
  679. objgetv fv:mx=fv.0:mz=fv.2 
  680. if k&16 : gosub *myshot
  681. if k&1 : gosub *mymov 
  682. if k&4 : gosub *mymov 
  683. if k&2 : gosub *mymov 
  684. if k&8 : gosub *mymov 
  685. return 
  686. *keymove2
  687. selpos my 
  688. objgetv fv:mx=fv.0:mz=fv.2 
  689. if âXâeü[âW=0:if time3>70: gosub *myshot2
  690. if âXâeü[âW=1:if time3>70: gosub *myshot2
  691. if âXâeü[âW=2:if time3>80: gosub *myshot2
  692. if âXâeü[âW=3:if time3>98: gosub *myshot2
  693. if âXâeü[âW=4:if time3>20: gosub *myshot2
  694. if âXâeü[âW=5{if time3>200:if time3<400:if time5>5: gosub *myshot2
  695. }
  696. if âXâeü[âW=5{if time3>430:if time3<800:myball=ball3:if time5>3:fv8=0.0f: gosub *myshot2
  697. }
  698.  
  699. if âXâeü[âW=0{damage=0:getcoli a,my,2.5f 
  700. }
  701. if âXâeü[âW=1{damage=0:getcoli a,my,2.5f 
  702. }
  703. if âXâeü[âW=2{damage=0:getcoli a,my,2.5f 
  704. }
  705. if âXâeü[âW=3{damage=0:getcoli a,my,2.5f 
  706. }
  707. if âXâeü[âW=4{damage=0:getcoli a,my,2.5f 
  708. }
  709. if âXâeü[âW=5{damage=0:getcoli a,my,22.5f 
  710. }
  711. if a!=-1 : damage=10 
  712. if a!=-1 : snd 3    
  713. if a!=-1 : {selpos a :objgetfv po
  714. regobj ob,mdex, 16
  715. selpos ob :objsetfv po
  716. }
  717. if a!=-1 :delobj a
  718. if âXâeü[âW=0:if time3>70:time3=0
  719. if âXâeü[âW=1:if time3>70:time3=0
  720. if âXâeü[âW=2:if time3>80:time3=0
  721. if âXâeü[âW=3:if time3>100:time3=0
  722. if âXâeü[âW=4:if time3>20:time3=0
  723. if âXâeü[âW=5:if time3>800:time3=0
  724. if myball=ball2{if time5>5:time5=0
  725. }
  726. if myball=ball3{if time5>3:time5=0
  727. }
  728. gosub *ôGê┌ô«
  729. return 
  730. *ôGê┌ô«
  731.  
  732. selpos mychr2
  733. objgetfv posenemy
  734. selpos mychr
  735. objgetfv posme
  736.  
  737.  
  738. fvface posenemy, posme.0, posme.1, posme.2
  739. selang mychr2
  740. objsetfv posenemy
  741.  
  742.  
  743. selpos mychr2
  744. objgetfv posenemy
  745. fvsub posme, posenemy.0, posenemy.1, posenemy.2
  746. fvdiv posme, 400f, 400f, 400f
  747. seldir mychr2
  748. objsetfv posme
  749.  
  750. *mymov 
  751. speed=23
  752. if k&2{
  753. if time2>20{
  754. selpos my :objgetfv po
  755. regobj ob,mdey, 16
  756. selpos ob :objsetfv po
  757. time2=0
  758. }}
  759.  
  760. selpos mychr 
  761. objgetfv fv 
  762. selang mychr 
  763. if k&1 : objaddf1 1,-0.008f
  764. if k&4 : objaddf1 1,0.008f
  765. if k&2 { 
  766. objgetfv fv2 
  767. fvdir fv2,0.0f,0.0f,0.12f 
  768. fvadd fv,fv2.0,fv2.1,fv2.2 
  769. if k&8 { 
  770. objgetfv fv2 
  771. fvdir fv2,0.0f,0.0f,-0.1f 
  772. fvadd fv,fv2.0,fv2.1,fv2.2 
  773. fvmin fv, -100.0f, -100.0f, -100.0f 
  774. fvmax fv, 100.0f, 100.0f, 100.0f 
  775. selpos mychr 
  776. objsetfv fv 
  777.  
  778. selang mychr 
  779. objgetfv fv_cang 
  780. fvadd fv_cang,0.0f, 34.6f, 0.0f 
  781. fvmul fv_cang,1.0f,-1.0f, 1.0f 
  782. selcang : objsetfv fv_cang 
  783.  
  784. selpos mychr 
  785. objgetfv fv_cpos 
  786. fvset fv_wk,0.0f,0.0f,0.0f 
  787. fsin fv_wk.0,fv_cang.1 
  788. fcos fv_wk.2,fv_cang.1 
  789. fvmul fv_wk,14.0f,1.0f,14.0f 
  790. selcpos 
  791. objsetfv fv_cpos 
  792. objaddfv fv_wk 
  793. objaddf3 0.0f,-5.0f,0.0f 
  794. return 
  795. *myshot 
  796.  
  797. if time>45 {
  798. regobj shot,myball, 4| $80| 32 
  799. setcoli shot,mycl,0 
  800. selpos shot:objsetv fv 
  801. selang my:objgetfv fv 
  802. fvdir fv,0.0f,0.0f,1.2f 
  803. seldir shot:objsetfv fv 
  804. snd 4 
  805. time=0
  806. }
  807. return 
  808. *myshot2 
  809.  
  810. rnd ran,8
  811. regobj shot,myball, 4| $80| 32 
  812. setcoli shot,mycl,0 
  813. selpos shot:objsetv fv 
  814. selang my:objgetfv fv 
  815. if âXâeü[âW=0{fvdir fv,fv8,0.0f,-1.2f
  816. }
  817. if âXâeü[âW=1{fvdir fv,fv8,0.0f,-1.6f
  818. }
  819. if âXâeü[âW=2{fvdir fv,fv8,0.0f,-1.4f
  820. }
  821. if âXâeü[âW=3{fvdir fv,fv8,0.0f,-1.3f
  822. }
  823. if âXâeü[âW=4{fvdir fv,fv8,0.0f,-1.4f
  824. }
  825. if âXâeü[âW=5{
  826. fvdir fv,fv8,0.0f,-1.4f
  827. }
  828. seldir shot:objsetfv fv 
  829. snd 4
  830. return 
  831. *dead 
  832.  
  833. zx=0
  834. âXâeü[âW+1
  835. repeat 400
  836. zx+1
  837. if zx>100:zx=100
  838. hgdraw
  839. if hp<0{pos 250,200:gcopy 13,0,0,300,zx
  840. selpos my :objgetfv po
  841. regobj ob,mdez, 16
  842. selpos ob :objsetfv po
  843. delobj mychr:âXâeü[âW=0}
  844. if hp2<0{pos 250,200:gcopy 12,0,0,300,zx
  845. selpos my :objgetfv po
  846. regobj ob,mdez, 16
  847. selpos ob :objsetfv po
  848. delobj mychr2}
  849. hgsync speed 
  850. stick k,15,1:if k&128 : goto *owari 
  851. selang my:objaddf1 1,0.2f 
  852. delobj my
  853. loop:if âXâeü[âW=0:goto *start
  854. goto *start
  855. *owari 
  856. hgbye 
  857. end
  858.